package com.sxjh.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;


import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.Date;

@Data
@TableName("train_booked")
@ApiModel(value="train_booked对象", description="火车入账报表")
public class TrainBookedEntity implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "唯一ID")
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    @ApiModelProperty(value = "批次号")
    @TableField("batch_number")
    private String batchNumber;

    @ApiModelProperty(value = "票号")
    @TableField("banks")
    private String banks;

    @ApiModelProperty(value = "车号")
    @TableField("car_number")
    private String carNumber;

    @ApiModelProperty(value = "毛重")
    @TableField("cross_weight")
    private BigDecimal crossWeight;

    @ApiModelProperty(value = "皮重")
    @TableField("tare_weight")
    private BigDecimal tareWeight;

    @ApiModelProperty(value = "净重")
    @TableField("net_weight")
    private BigDecimal netWeight;

    @ApiModelProperty(value = "标准水")
    @TableField("standard_water")
    private float standardWater;

    @ApiModelProperty(value = "测定水")
    @TableField("determination_water")
    private float determinationWater;

    @ApiModelProperty(value = "扣水规定")
    @TableField("retaining_water_regulation")
    private float retainingWaterRegulation;

    @ApiModelProperty(value = "灰分")
    @TableField("ash_content")
    private float ashContent;

    @ApiModelProperty(value = "挥发分")
    @TableField("volatile")
    private float volatileMatter;

    @ApiModelProperty(value = "硫分")
    @TableField("sulfur_content")
    private float sulfurContent;

    @ApiModelProperty(value = "m40")
    @TableField("m40")
    private float m40;

    @ApiModelProperty(value = "m10")
    @TableField("m10")
    private float m10;

    @ApiModelProperty(value = "加高")
    @TableField("heightening")
    private String heightening;

    @ApiModelProperty(value = "产品名称")
    @TableField("product_name")
    private String productName;

    @ApiModelProperty(value = "购货单位")
    @TableField("purchase_unit")
    private String purchaseUnit;

    @ApiModelProperty(value = "制单人")
    @TableField("voucher")
    private String voucher;

    @ApiModelProperty(value = "厂别名称")
    @TableField("factory_name")
    private String factoryName;

    @ApiModelProperty(value = "提取日期")
    @TableField("extract_date")
    private LocalDateTime extractDate;

    @ApiModelProperty(value = "所属地区")
    @TableField("each_district")
    private String eachDistrict;

    @ApiModelProperty(value = "所属厂区")
    @TableField("belongs_factory")
    private String belongsFactory;

    public TrainBookedEntity(){
        super();
    }

    public TrainBookedEntity(String batchNumber,String banks,String carNumber,BigDecimal crossWeight,BigDecimal tareWeight,BigDecimal netWeight,float standardWater,float determinationWater,float retainingWaterRegulation,
                             float ashContent,float volatileMatter,float sulfurContent,float m40,float m10,String heightening,String productName,
                            String purchaseUnit,String voucher,String factoryName,LocalDateTime extractDate,String eachDistrict, String belongsFactory) {
        this.batchNumber = batchNumber;
        this.banks = banks;
        this.carNumber = carNumber;
        this.crossWeight = crossWeight;
        this.tareWeight = tareWeight;
        this.netWeight = netWeight;
        this.standardWater = standardWater;
        this.determinationWater = determinationWater;
        this.retainingWaterRegulation = retainingWaterRegulation;
        this.ashContent = ashContent;
        this.volatileMatter = volatileMatter;
        this.sulfurContent = sulfurContent;
        this.m40 = m40;
        this.m10 = m10;
        this.heightening = heightening;
        this.productName = productName;
        this.purchaseUnit = purchaseUnit;
        this.voucher = voucher;
        this.factoryName = factoryName;
        this.extractDate = extractDate;
        this.eachDistrict = eachDistrict;
        this.belongsFactory = belongsFactory;
    }

    @Override
    public String toString() {
        return "TrainBookedEntity{" +
                "id=" + id +
                ", batchNumber='" + batchNumber + '\'' +
                ", banks='" + banks + '\'' +
                ", carNumber='" + carNumber + '\'' +
                ", crossWeight=" + crossWeight +
                ", tareWeight=" + tareWeight +
                ", netWeight=" + netWeight +
                ", standardWater=" + standardWater +
                ", determinationWater=" + determinationWater +
                ", retainingWaterRegulation=" + retainingWaterRegulation +
                ", ashContent=" + ashContent +
                ", volatileMatter=" + volatileMatter +
                ", sulfurContent=" + sulfurContent +
                ", m40=" + m40 +
                ", m10=" + m10 +
                ", heightening='" + heightening + '\'' +
                ", productName='" + productName + '\'' +
                ", purchaseUnit='" + purchaseUnit + '\'' +
                ", voucher='" + voucher + '\'' +
                ", factoryName='" + factoryName + '\'' +
                ", extractDate=" + extractDate +
                ", eachDistrict='" + eachDistrict + '\'' +
                ", belongsFactory='" + belongsFactory + '\'' +
                '}';
    }
}
